1. Field of the Invention
The present invention generally relates to systems for signal coding, and more particularly to a signal coding system utilizing a unique parallel concatenated coding method for achieving improved bit error rates.
2. Discussion of the Related Art
Signal coding, or channel coding, has long been know as a way to protect the integrity of data transmitted through a channel. Through the implementation of coding, unsystematic redundancy can be removed from message signals so that channels can be used with maximum efficiency. In addition, through the use of coding, systematic redundancy can be introduced into the transmitted signal so that errors caused by noisy channels can be corrected. Stated another way, the ability to detect and/or correct errors resulting from a noisy transmission channel can only be provided by the additional transmission of redundant bits, and thus by lowering the effective information rate for a given transmission bandwidth.
A fundamental axiom which has motivated the development of coding methods, known as Shannon's coding theorem, provides that if a source generates information at a rate that is less than the capacity of a transmission channel, there exists some encoding procedure that will permit the source output to be transmitted through the channel with an arbitrarily small probability of error. Multilevel coding of signals is one coding method known for achieving increased transmission speeds. However, multilevel signals are more likely to be corrupted by channel noise. Therefore, error-correcting schemes are generally implemented in multilevel coding systems.
As is further known, interleaving is a method used in connection with channel coding to further improve the transmission efficiency, which operates to time-disperse bits or symbols before encoding and transmission. Often, several "important" source bits are produced in immediate succession. Since a burst error, such as a channel fade, could corrupt all of these adjacent bits, it is desirable to time-disperse adjacent information bits. Moreover, by rearranging the order of such bits in connection with the redundant encoding, further noise immunity is achieved.
As a further improvement, a parallel concatenated coding method, also known as turbo coding, has been developed. In its simplest form, a parallel concatenated coding scheme includes two simple constituent systematic encoders linked by an interleaver. The input bits to the first encoder are scrambled by the interleaver before entering the second encoder. The codeword of the parallel concatenated code generally consists of the input bits to the first encoder followed by the parity check bits of both encoders, although this construction can be generalized to any number of constituent codes.
It has been demonstrated that parallel concatenated schemes employing convolutional codes as constituent codes, in connection with an iterative decoding algorithm, yield coding gains very close to the their theoretical limits (i.e., Shannon limit). However, in the parallel concatenated codes known by the Applicant, the enhanced performance achieved due to the tremendous reduction in error coefficients, has been obtained by utilizing a very long random interleaver. As with any long code word, these parallel concatenated codes generally suffer at least one important shortcoming; namely, the delay due to the long random interleaver and to the iterative decoding. As a result, this type of coding realizes intolerable delays for many applications. A further shortcoming relates the complexity of maximum-likelihood (ML) decoding algorithms, whereby the decoding complexity increases with increasing length of the interleaver.
Various methods and apparatus for coding signals are known in the art, and are described in various publications including, "Near Shannon Limit Error Correcting Coding and Decoding: Turbo-Codes," C. Berrou, A. Glavienux and P. Thitimajshima, Proc. of the ICC '93, Geneva, Switzerland, pp. 1064-1070, May 1993, "Unveiling Turbo Codes: Some Results on Parallel Concatenated Coding Schemes," S. Benedetto and G. Montorsi, IEEE Trans. Information Theory, vol. IT-42, pp. 409-428, March 1996, "Iterative Decoding of 2 0 Binary Block and Convolutional Codes," J. Hagenauer, IEEE Trans. Information Theory, vol IT42, pp. 429-445, March 1996, "Turbo Codes for PCS Applications," D. Divsalar and F. Pollara, Proc. of the ICC '95, Seattle, Wash., June 1995, "Multilevel Codes Based on Partitioning," G. J. Pottie and D. P. Taylor, IEEE Trans. Information Theory, vol. IT-35, pp. 87-98, January 1989, "Multilevel Coding Method Using Error-Correcting Codes," H. Imai and S. Hirakawa, IEEE Trans. Information Theory, vol. IT-23, pp. 371-377, May 1977, and "Channel Coding with Multilevel/Phase Signals," G. Ungerboeck, IEEE Trans. Information Theory, vol. IT-28, pp. 55-67, January 1982, which are all hereby incorporated by reference.